package donnees.dao;

import donnees.modele.Acteur;
import donnees.modele.Journaliste;
import donnees.modele.Participant;
import donnees.modele.Producteur;
import donnees.modele.Realisateur;
import donnees.modele.Sponsor;
import donnees.modele.Vip;
import java.util.List;

public interface VipInterface {
    
    // Ajout
    void ajouterActeur(Acteur a) throws Exception;
    void ajouterJournaliste(Journaliste j) throws Exception;
    void ajouterParticipant(Participant p) throws Exception;
    void ajouterProducteur(Producteur p) throws Exception;
    void ajouterRealisateur(Realisateur r) throws Exception;
    void ajouterSponsor(Sponsor s) throws Exception;
    void ajouterVip(Vip v) throws Exception;
    
    // Modification
    void modifierActeur(Acteur a) throws Exception;
    void modifierJournaliste(Journaliste j) throws Exception;
    void modifierParticipant(Participant p) throws Exception;
    void modifierProducteur(Producteur p) throws Exception;
    void modifierRealisateur(Realisateur r) throws Exception;
    void modifierSponsor(Sponsor s) throws Exception;
    void modifierVip(Vip v) throws Exception;
    
    // Suppression
    void supprimerActeur(Acteur a) throws Exception;
    void supprimerJournaliste(Journaliste j) throws Exception;
    void supprimerParticipant(Participant p) throws Exception;
    void supprimerProducteur(Producteur p) throws Exception;
    void supprimerRealisateur(Realisateur r) throws Exception;
    void supprimerSponsor(Sponsor s) throws Exception;
    void supprimerVip(Vip v) throws Exception;
    
    // Trouver
    String trouverTypeVip(Vip v) throws Exception;
    Acteur trouverActeur(String id) throws Exception;
    Journaliste trouverJournaliste(String id) throws Exception;
    Participant trouverParticipant(String id) throws Exception;
    Producteur trouverProducteur(String id) throws Exception;
    Realisateur trouverRealisateur(String id) throws Exception;
    Sponsor trouverSponsor(String id) throws Exception;
    Vip trouverVip(String id) throws Exception;
    Vip trouverVipParNom(String nom) throws Exception;
    
    // Lister
    List listerVip() throws Exception;
    List listerVipParType(String type) throws Exception;
}
